﻿using DocumentFormat.OpenXml.Wordprocessing;
using Magicodes.ExporterAndImporter.Core;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.YCLWLJGZSYC.Dto
{
    public class YCLWLJGZSYCOutput
    {
        public string InstanceNumber { get; set; }
        public string AddTimeString { get; set; }
        public DateTime AddTime { get; set; }

        public string AddUserName { get; set; }
        public string Url { get; set; }
        public string StatusName { get; set; }
        public string AuditPerson { get; set; }
        public int MaintenanceType { get; set; }
        public string Remark { get; set; }


        [JsonProperty(PropertyName = "MONTH_ID")]
        public string MONTH_ID { get; set; }

        [JsonProperty(PropertyName = "DEPT")]
        public string DEPT { get; set; }

        [JsonProperty(PropertyName = "CATEGORY_ID")]
        public string CATEGORY_ID { get; set; }

        [JsonProperty(PropertyName = "CATEGORY")]
        public string CATEGORY { get; set; }

        [JsonProperty(PropertyName = "SUB_CATEGORY_ID")]
        public string SUB_CATEGORY_ID { get; set; }

        [JsonProperty(PropertyName = "SUB_CATEGORY")]
        public string SUB_CATEGORY { get; set; }

        [JsonProperty(PropertyName = "CHILD_CATEGORY_ID")]
        public string CHILD_CATEGORY_ID { get; set; }

        [JsonProperty(PropertyName = "CHILD_CATEGORY")]
        public string CHILD_CATEGORY { get; set; }

        [JsonProperty(PropertyName = "CATEGORY_MANAGER_CODE")]
        public string CATEGORY_MANAGER_CODE { get; set; }

        [JsonProperty(PropertyName = "CATEGORY_MANAGER")]
        public string CATEGORY_MANAGER { get; set; }

        [JsonProperty(PropertyName = "GMV")]
        public decimal? GMV { get; set; }

        [JsonProperty(PropertyName = "CATEGORY_RATIO")]
        public decimal? CATEGORY_RATIO { get; set; }

        [JsonProperty(PropertyName = "TOTAL_RATIO")]
        public decimal? TOTAL_RATIO { get; set; }

        /// <summary>
        /// 前3月
        /// </summary>
        [JsonProperty(PropertyName = "pre_num3")]
        public decimal? pre_num3 { get; set; }
        /// <summary>
        /// 前2月
        /// </summary>
        [JsonProperty(PropertyName = "pre_num2")]
        public decimal? pre_num2 { get; set; }
        /// <summary>
        /// 前1月
        /// </summary>
        [JsonProperty(PropertyName = "pre_num1")]
        public decimal? pre_num1 { get; set; }

        public decimal? RATIO { get; set; }

        /// <summary>
        /// 数据
        /// </summary>
        public List<decimal?> nums { get; set; }

        public string CurrentTime { get; set; }

        /// <summary>
        /// 当前时间
        /// </summary>
        [ImporterHeader(Name = "current_num")]
        public decimal? current_num { get; set; }

        /// <summary>
        /// 下1一个月
        /// </summary>
        [ImporterHeader(Name = "num1")]
        public decimal? num1 { get; set; }
        /// <summary>
        /// 下2一个月
        /// </summary>
        [ImporterHeader(Name = "num2")]
        public decimal? num2 { get; set; }
        /// <summary>
        /// 下3一个月
        /// </summary>
        [ImporterHeader(Name = "num3")]
        public decimal? num3 { get; set; }
        /// <summary>
        /// 下4一个月
        /// </summary>
        [ImporterHeader(Name = "num4")]
        public decimal? num4 { get; set; }
        /// <summary>
        /// 下5一个月
        /// </summary>
        [ImporterHeader(Name = "num5")]
        public decimal? num5 { get; set; }
        /// <summary>
        /// 下6一个月
        /// </summary>
        [ImporterHeader(Name = "num6")]
        public decimal? num6 { get; set; }
        /// <summary>
        /// 下7一个月
        /// </summary>
        [ImporterHeader(Name = "num7")]
        public decimal? num7 { get; set; }
        /// <summary>
        /// 下8一个月
        /// </summary>
        [ImporterHeader(Name = "num8")]
        public decimal? num8 { get; set; }
        /// <summary>
        /// 下9一个月
        /// </summary>
        [ImporterHeader(Name = "num9")]
        public decimal? num9 { get; set; }
        /// <summary>
        /// 下10一个月
        /// </summary>
        [ImporterHeader(Name = "num10")]
        public decimal? num10 { get; set; }
        /// <summary>
        /// 下11一个月
        /// </summary>
        [ImporterHeader(Name = "num11")]
        public decimal? num11 { get; set; }
        /// <summary>
        /// 下12一个月
        /// </summary>
        [ImporterHeader(Name = "num12")]
        public decimal? num12 { get; set; }
        /// <summary>
        /// 下13一个月
        /// </summary>
        [ImporterHeader(Name = "num13")]
        public decimal? num13 { get; set; }
        /// <summary>
        /// 下14一个月
        /// </summary>
        [ImporterHeader(Name = "num14")]
        public decimal? num14 { get; set; }
        /// <summary>
        /// 下15一个月
        /// </summary>
        [ImporterHeader(Name = "num15")]
        public decimal? num15 { get; set; }
        /// <summary>
        /// 下16一个月
        /// </summary>
        [ImporterHeader(Name = "num16")]
        public decimal? num16 { get; set; }
        /// <summary>
        /// 下17一个月
        /// </summary>
        [ImporterHeader(Name = "num17")]
        public decimal? num17 { get; set; }
        /// <summary>
        /// 下18一个月
        /// </summary>
        [ImporterHeader(Name = "num18")]
        public decimal? num18 { get; set; }
        /// <summary>
        /// 下19一个月
        /// </summary>
        [ImporterHeader(Name = "num19")]
        public decimal? num19 { get; set; }
        /// <summary>
        /// 下20一个月
        /// </summary>
        [ImporterHeader(Name = "num20")]
        public decimal? num20 { get; set; }
        /// <summary>
        /// 下21一个月
        /// </summary>
        [ImporterHeader(Name = "num21")]
        public decimal? num21 { get; set; }
        /// <summary>
        /// 下22一个月
        /// </summary>
        [ImporterHeader(Name = "num22")]
        public decimal? num22 { get; set; }
        /// <summary>
        /// 下23一个月
        /// </summary>
        [ImporterHeader(Name = "num23")]
        public decimal? num23 { get; set; }
        /// <summary>
        /// 下24一个月
        /// </summary>
        [ImporterHeader(Name = "num24")]
        public decimal? num24 { get; set; }

        public int? rownum { get; set; }

        /// <summary>
        /// 原材料/包材
        /// </summary>
        [JsonProperty(PropertyName = "MaterialType")]
        public string MaterialType { get; set; }
    }

    public class YCLWLJGZSYCDetailData
    {
        public List<DetailColumn> DetailColumns { get; set; } = new List<DetailColumn>();

        public List<dynamic> DetailDatas { get; set; } = new List<dynamic>();
    }

    public class DetailColumn
    {
        public string type { get; set; }
        public string field { get; set; }
        public string title { get; set; }

        public string timeid { get; set; }

        public string @fixed { get; set; }

        public string width { get; set; } = "100";
    }
}
